// Package public mysql
package public

import (
	"database/sql"
	"fmt"
	"log"

	_ "github.com/go-sql-driver/mysql"
)

//DayMysql DayMysql
func DayMysql(data string) bool {
	db, err := sql.Open("mysql", "root:123456@tcp(95.169.24.121:3306)/dream?charset=utf8")

	defer db.Close()
	if false == checkErr(err) {

		return false
	}

	//插入数据
	stmt, err := db.Prepare("INSERT promise_day(note)  values(?)")
	checkErr(err)
	if false == checkErr(err) {

		return false
	}
	res, err := stmt.Exec(data)
	checkErr(err)
	if false == checkErr(err) {

		return false
	}
	id, err := res.LastInsertId()
	checkErr(err)
	if false == checkErr(err) {

		return false
	}
	fmt.Println(id)

	return true

}

func checkErr(err error) bool {
	if err != nil {
		fmt.Println(err)
		log.Println(err)
		return false
	}

	return true
}

//ReadBugTable ReadBugTable
func ReadBugTable() string {
	db, err := sql.Open("mysql", "root:123456@tcp(95.169.24.121:3306)/dream?charset=utf8")

	defer db.Close()
	if false == checkErr(err) {

		return ""
	}

	//select
	rows, err := db.Query("select id,problem,creation_time from dream.bug where  fix =0;")
	if err != nil {
		log.Println(err)
		return ""

	}
	var msg string = "bug清单: \r\n"
	msg += "\r\n"
	for rows.Next() {
		var id string
		var problem string
		var creationtime string
		if err := rows.Scan(&id, &problem, &creationtime); err != nil {
			log.Println(err)
		}

		msg += id
		msg += " "
		msg += problem
		msg += "  "
		msg += creationtime
		msg += "\r\n"
		msg += "\r\n"
		msg += "坚持天数:"
		msg += GetDayFromStringTime(creationtime)
		msg += "\r\n"
		msg += "\r\n"

	}
	if len(msg) < 10 {
		return ""
	}
	//msg += DuringDays()
	msg += "\r\n"
	return msg

}

// ReadProjectTable ReadProjectTable
func ReadProjectTable() string {
	db, err := sql.Open("mysql", "root:123456@tcp(95.169.24.121:3306)/dream?charset=utf8")

	defer db.Close()
	if false == checkErr(err) {

		return ""
	}

	//select
	rows, err := db.Query("select name,step,creation_time from dream.project where result =0")
	if err != nil {
		log.Println(err)
		return ""

	}
	var msg string = "项目清单 :\r\n"
	msg += "\r\n"
	for rows.Next() {
		var name string
		var step string
		var creationtime string
		if err := rows.Scan(&name, &step, &creationtime); err != nil {
			log.Println(err)
		}
		msg += " 项目描述 "
		msg += name
		msg += " 任务拆分 "
		msg += step
		msg += "截止日期  "
		msg += creationtime
		msg += "\r\n"
		msg += "坚持天数:"
		msg += GetDayFromStringTime(creationtime)
		msg += "\r\n"
		msg += "\r\n"

	}
	if len(msg) < 10 {
		return ""
	}
	msg += "\r\n"
	//msg += DuringDays()
	return msg

}

//ReadAskTable  奇迹提问
func ReadAskTable() string {
	db, err := sql.Open("mysql", "root:123456@tcp(95.169.24.121:3306)/dream?charset=utf8")

	defer db.Close()
	if false == checkErr(err) {

		return ""
	}

	//select
	rows, err := db.Query("select ask from qiji_task  where finshed =0")
	if err != nil {
		log.Println(err)
		return ""

	}
	var msg string = "奇迹提问: \r\n"
	msg += "\r\n"
	for rows.Next() {
		var ask string
		if err := rows.Scan(&ask); err != nil {
			log.Println(err)
		}

		msg += ask

		msg += "\r\n"
		msg += "\r\n"

	}
	if len(msg) < 10 {
		return ""
	}
	return msg

}

//
//UpdateTV UpdateTV
func UpdateTV() string {
	db, err := sql.Open("mysql", "root:123456@tcp(95.169.24.121:3306)/dream?charset=utf8")

	defer db.Close()
	if false == checkErr(err) {

		return ""
	}

	//插入数据
	updateSQL, err := db.Prepare("update task_action_daily set days=days+1,weekly=weekly+1,years=years+1,sums=sums+180  where id=1")
	checkErr(err)
	if false == checkErr(err) {

		return ""
	}
	_, err = updateSQL.Exec()
	checkErr(err)
	if false == checkErr(err) {

		return ""
	}
	//query
	rows, err := db.Query("select task,days,weekly,years, sums from dream.task_action_daily where id=1;")
	if err != nil {
		log.Println(err)
		return ""

	}

	var days string
	var weeky string
	var years string
	var sums string
	var task string
	for rows.Next() {
		if err := rows.Scan(&task, &days, &weeky, &years, &sums); err != nil {
			log.Println(err)
		}

	}

	msg := ` 上床睡觉，说明：防沉迷，任何情况下不解锁，尤其是周末,1只要解锁一个，你开一个口子，后面99失效
	更新一个观念：1你原来可以选择不看人妻小说，不是全部搜索出来看完，然后从熬夜 头发皮肤到工作焦虑，
	商店，浏览器 腾讯 uc 百度 ad就是背后时间黑洞，吸走你一切。
	 2 你原来可以选择不 腾讯视频，不是他每次更新动漫，综艺节目，电视剧，你必须去看。
    这个不是法律规定，这个也不是工作要求，跟不上社会习俗，对手不希望你看。
    3 你可以选择痛苦绝望疲累时候，调整好状态，继续战斗。
      拒绝美杜莎的诱惑这里搞笑，成功，美v不是你的。
   4 战拖，自控从自我救赎-远离腾讯视频开始 一次一秒也不行，培养重视态度。`
	msg += "\r\n"
	msg += "今天是多少天："
	msg += GetDayFromBegin(1577808005)
	msg += ",本年累计次数:"
	msg += days
	msg += "\r\n"
	msg += "本周是多少周："
	msg += WeekByToday()
	msg += ",本年累计观看周数："
	msg += weeky
	msg += "\r\n"

	msg += "毕业以来累计次数："
	msg += years
	msg += ",总共累计耗时分钟："
	msg += sums
	msg += "\r\n"
	msg += task
	fmt.Println(msg)
	return msg

}

//RunFuture 运动是自己事情，累不累你自己不清楚呀？你可以不等着公司发文件运动吧，可以不别人催着运动吧
//你才跟着运动，跟不要说获取白富美，获取bat，获取一切成功，再说。因为这个才是基础。基础每天去做
//本周累计 本月累计 ，全年累计
func RunFuture() string {
	db, err := sql.Open("mysql", "root:123456@tcp(95.169.24.121:3306)/dream?charset=utf8")

	defer db.Close()
	if false == checkErr(err) {

		return ""
	}

	//直接更新
	updateSQL, err := db.Prepare("update task_action_daily set weekly=weekly+1,months=months+1,years=years+1 where id=2")
	checkErr(err)
	if false == checkErr(err) {

		return ""
	}
	_, err = updateSQL.Exec()
	checkErr(err)
	if false == checkErr(err) {

		return ""
	}
	//query
	rows, err := db.Query("select weekly,months,years  from dream.task_action_daily where id=2;")
	if err != nil {
		log.Println(err)
		return ""

	}

	var weeky string
	var years string
	var months string
	//var item string
	for rows.Next() {
		if err := rows.Scan(&weeky, &months, &years); err != nil {
			log.Println(err)
		}

	}

	msg := `更新一个观念：运动是自己事情，累不累你自己不清楚呀？
你可以不等着公司发文件运动吧，可以不别人催着运动吧你才跟着运动，
你可以跟不要说获取白富美，获取bat，获取一切成功。采取运动。
在以前万的认知与行为中 你表现出来就是不可以。
这个不是运动必要条件，运动唯一挑起是从位置站起来`
	msg += "\r\n"

	msg += WeekByToday()
	msg += ",本周累计"
	msg += weeky
	msg += " 次\r\n"

	msg += " 本月累计："
	msg += months
	msg += " 次\r\n"
	msg += " 全年累计："
	msg += years
	msg += " 次\r\n"

	//fmt.Println(msg)
	return msg

}

//坐姿纠正：一天敲击6千次鼠标，平均5秒一次
func UpdateSite() string {
	db, err := sql.Open("mysql", "root:123456@tcp(95.169.24.121:3306)/dream?charset=utf8")

	defer db.Close()
	if false == checkErr(err) {

		return ""
	}

	//插入数据
	updateSQL, err := db.Prepare("update task_action_daily set days=days+1   where id=3")
	checkErr(err)
	if false == checkErr(err) {

		return ""
	}
	_, err = updateSQL.Exec()
	checkErr(err)
	if false == checkErr(err) {

		return ""
	}
	//query
	rows, err := db.Query("select task,days from dream.task_action_daily where id=3;")
	if err != nil {
		log.Println(err)
		return ""

	}

	var days string
	var task string
	for rows.Next() {
		if err := rows.Scan(&task, &days); err != nil {
			log.Println(err)
		}

	}

	msg := `更新一个观念：坐姿纠正：一天敲击6千次鼠标，平均5秒一次`
	msg += "\r\n"
	msg += ",本年累计次数:"
	msg += days

	msg += "\r\n"
	msg += task
	fmt.Println(msg)
	return msg

}
